<?php

namespace App\Http\Service;

/**
 * 对融云聊天室的操作
 * Class Room
 * @package App\Http\Service
 */
class Room{
    protected $common;
    public function __construct()
    {
        $this->common = new Common;
    }

    /**
     * 创建房间
     * @param $chatroomId 融云房间id
     * @return  {"code":200} 成功返回值
     * @url https://docs.rongcloud.cn/im/server/chatroom/create/
     */
    public function createRoom($chatroomId){
        return $this->common->curl("/chatroom/create",array("chatroom[$chatroomId]"=>"eid_".$chatroomId));
    }

    /**
     * 查询房间
     * @param chatroomId 融云房间id
     * @return  {"code":200,"chatRooms":[]}
     * @url https://docs.rongcloud.cn/im/server/chatroom/query/
     */
    public function queryRoom($chatroomId){
        return $this->common->curl("/chatroom/query",array('chatroomId'=>$chatroomId));
    }

    /**
     * 销毁房间
     * @param $chatroomId 要销毁的聊天室 Id。（必传）
     * @return  {"code":200}
     * @url  https://docs.rongcloud.cn/im/server/chatroom/user_query/
     */
    public function destroyRoom($chatroomId){
        return $this->common->curl("/chatroom/destroy",array('chatroomId'=>$chatroomId));
    }


    /**
     * 房间成员查询
     * @chatroomId [String] 要查询的聊天室 ID（必传）
     * @count      [String] 要获取的聊天室成员信息数，最多返回 500 个成员信息（必传）
     * @order      [String] 加入聊天室的先后顺序， 1 为加入时间正序， 2 为加入时间倒序（必传）
     * @url  https://docs.rongcloud.cn/im/server/chatroom/user_query/
     */
    public function userQuery($chatroomId,$count,$order = "1"){
        return $this->common->curl("/chatroom/user/query",array('chatroomId'=>$chatroomId,'count'=>$count,'order'=>$order));
    }

    /**
     * 查询用户是否加入聊天室
     * @param $chatroomId 要查询的聊天室 ID（必传）
     * @param $userId     要查询的用户 ID（必传）
     *
     * @return code       200：成功
     * @return isInChrm   用户是否在聊天室中，true 表示在聊天室中，false 表示不在聊天室中。
     * @url https://docs.rongcloud.cn/im/server/chatroom/user_query/
     */
    public function userExist($chatroomId,$userId){
        return $this->common->curl("/chatroom/user/exist",array('chatroomId'=>$chatroomId,'userId'=>$userId));
    }
}

